﻿namespace Softserve.Pottery.Infrastructure
{
    using System.IO;

    public interface IDistributedStorageBinaryEntity : IDistributedStorageEntity
    {
        /// <summary>
        /// Binary content
        /// </summary>
        BinaryReader Content { get; }

        /// <summary>
        /// Take information of content was compressed
        /// </summary>
        bool Compressed { get; }

        /// <summary>
        /// Type of setted content. Null if setted entity was nullable
        /// </summary>
        string DataType { get; }

        /// <summary>
        /// Sets content to entity
        /// </summary>
        /// <param name="value">Value</param>
        void Serialize(object value);
    }
}
